package com.fuluwa.application.pay.bo;

import com.fuluwa.application.pay.util.FiledMaxLenght;
import com.fuluwa.application.pay.util.FiledNotNull;

public class AlipayBo extends PayBo {

	// 基本参数
	private String service = "create_direct_pay_by_user";

	@FiledMaxLenght(lenght = 16)
	@FiledNotNull
	private String partner;

	private String _input_charset = "utf-8";

	private String signType = "MD5";

	private String sign;

	@FiledMaxLenght(lenght = 190)
	@FiledNotNull
	private String notifyUrl;

	@FiledMaxLenght(lenght = 200)
	@FiledNotNull
	private String returnUrl;

	@FiledMaxLenght(lenght = 200)
	private String errorNotifyUrl;

	// 业务参数
	@FiledNotNull
	@FiledMaxLenght(lenght = 64)
	private String outTradeNo;

	@FiledNotNull
	@FiledMaxLenght(lenght = 256)
	private String subject;

	@FiledNotNull
	@FiledMaxLenght(lenght = 4)
	private String paymentType;

	@FiledMaxLenght(lenght = 100)
	private String sellerEmail;

	@FiledMaxLenght(lenght = 100)
	private String buyerEmail;

	@FiledMaxLenght(lenght = 16)
	private String sellerId;

	@FiledMaxLenght(lenght = 16)
	private String buyerId;

	@FiledMaxLenght(lenght = 100)
	private String sellerAccountName;

	@FiledMaxLenght(lenght = 100)
	private String buyerAccountName;

	private int price;
	private int totalFee;
	private int quantity;

	@FiledMaxLenght(lenght = 1000)
	private String body;

	@FiledMaxLenght(lenght = 400)
	private String show_url;

	private String paymethod; // creditPay，或者 directPay（默认）

	private String enablePaymethod;

	private String needCtuCheck; // Y:做CTU校验(默认)；N:不做CTU校验。

	private String royaltyType = "10"; // 10（卖家给第三方提成）

	@FiledMaxLenght(lenght = 1000)
	private String royaltyParameters;

	private String antiPhishingKey;

	@FiledMaxLenght(lenght = 15)
	private String exterInvokeIp;

	@FiledMaxLenght(lenght = 1000)
	private String extra_common_param;

	private String extend_param;

	private String itBPpay;

	private String defaultLogin; // Y:使用；N:不使用

	@FiledMaxLenght(lenght = 50)
	private String productType;

	@FiledMaxLenght(lenght = 40)
	private String token;

	@FiledMaxLenght(lenght = 40000)
	private String itemOrdersInfo;

	public String getService() {
		return service;
	}

	public void setService(String service) {
		this.service = service;
	}

	public String getPartner() {
		return partner;
	}

	public void setPartner(String partner) {
		this.partner = partner;
	}

	public String get_input_charset() {
		return _input_charset;
	}

	public void set_input_charset(String _input_charset) {
		this._input_charset = _input_charset;
	}

	public String getSignType() {
		return signType;
	}

	public void setSignType(String signType) {
		this.signType = signType;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getReturnUrl() {
		return returnUrl;
	}

	public void setReturnUrl(String returnUrl) {
		this.returnUrl = returnUrl;
	}

	public String getErrorNotifyUrl() {
		return errorNotifyUrl;
	}

	public void setErrorNotifyUrl(String errorNotifyUrl) {
		this.errorNotifyUrl = errorNotifyUrl;
	}

	public String getOutTradeNo() {
		return outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public String getPaymentType() {
		return paymentType;
	}

	public void setPaymentType(String paymentType) {
		this.paymentType = paymentType;
	}

	public String getSellerEmail() {
		return sellerEmail;
	}

	public void setSellerEmail(String sellerEmail) {
		this.sellerEmail = sellerEmail;
	}

	public String getBuyerEmail() {
		return buyerEmail;
	}

	public void setBuyerEmail(String buyerEmail) {
		this.buyerEmail = buyerEmail;
	}

	public String getSellerId() {
		return sellerId;
	}

	public void setSellerId(String sellerId) {
		this.sellerId = sellerId;
	}

	public String getBuyerId() {
		return buyerId;
	}

	public void setBuyerId(String buyerId) {
		this.buyerId = buyerId;
	}

	public String getSellerAccountName() {
		return sellerAccountName;
	}

	public void setSellerAccountName(String sellerAccountName) {
		this.sellerAccountName = sellerAccountName;
	}

	public String getBuyerAccountName() {
		return buyerAccountName;
	}

	public void setBuyerAccountName(String buyerAccountName) {
		this.buyerAccountName = buyerAccountName;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}

	public int getTotalFee() {
		return totalFee;
	}

	public void setTotalFee(int totalFee) {
		this.totalFee = totalFee;
	}

	public int getQuantity() {
		return quantity;
	}

	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}

	public String getBody() {
		return body;
	}

	public void setBody(String body) {
		this.body = body;
	}

	public String getShow_url() {
		return show_url;
	}

	public void setShow_url(String show_url) {
		this.show_url = show_url;
	}

	public String getPaymethod() {
		return paymethod;
	}

	public void setPaymethod(String paymethod) {
		this.paymethod = paymethod;
	}

	public String getEnablePaymethod() {
		return enablePaymethod;
	}

	public void setEnablePaymethod(String enablePaymethod) {
		this.enablePaymethod = enablePaymethod;
	}

	public String getNeedCtuCheck() {
		return needCtuCheck;
	}

	public void setNeedCtuCheck(String needCtuCheck) {
		this.needCtuCheck = needCtuCheck;
	}

	public String getRoyaltyType() {
		return royaltyType;
	}

	public void setRoyaltyType(String royaltyType) {
		this.royaltyType = royaltyType;
	}

	public String getRoyaltyParameters() {
		return royaltyParameters;
	}

	public void setRoyaltyParameters(String royaltyParameters) {
		this.royaltyParameters = royaltyParameters;
	}

	public String getAntiPhishingKey() {
		return antiPhishingKey;
	}

	public void setAntiPhishingKey(String antiPhishingKey) {
		this.antiPhishingKey = antiPhishingKey;
	}

	public String getExterInvokeIp() {
		return exterInvokeIp;
	}

	public void setExterInvokeIp(String exterInvokeIp) {
		this.exterInvokeIp = exterInvokeIp;
	}

	public String getExtra_common_param() {
		return extra_common_param;
	}

	public void setExtra_common_param(String extra_common_param) {
		this.extra_common_param = extra_common_param;
	}

	public String getExtend_param() {
		return extend_param;
	}

	public void setExtend_param(String extend_param) {
		this.extend_param = extend_param;
	}

	public String getItBPpay() {
		return itBPpay;
	}

	public void setItBPpay(String itBPpay) {
		this.itBPpay = itBPpay;
	}

	public String getDefaultLogin() {
		return defaultLogin;
	}

	public void setDefaultLogin(String defaultLogin) {
		this.defaultLogin = defaultLogin;
	}

	public String getProductType() {
		return productType;
	}

	public void setProductType(String productType) {
		this.productType = productType;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public String getItemOrdersInfo() {
		return itemOrdersInfo;
	}

	public void setItemOrdersInfo(String itemOrdersInfo) {
		this.itemOrdersInfo = itemOrdersInfo;
	}

}
